﻿using System;
using Rendiciones.Web.infraestructura;

namespace Rendiciones.Web.usercontrols
{
    public partial class ctrlMesageBox : UserControlBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public void Mostrar(string mensaje, bool refresh, string titulo = "", ETipoMensaje tipoMensaje = ETipoMensaje.Exclamación, string redirect = "")
        {
            switch (tipoMensaje)
            {
                case ETipoMensaje.Exito: lblTitulo.Text = "Cambios realizados exitosamente"; imgIcono.Src = "../img/icons/Mensaje/icoExito.png"; break;
                case ETipoMensaje.Error: lblTitulo.Text = "Error"; imgIcono.Src = "../img/icons/Mensaje/icoError.png"; break;
                case ETipoMensaje.Exclamación: lblTitulo.Text = "Advertencia"; imgIcono.Src = "../img/icons/Mensaje/icoExclamacion.png"; break;
                case ETipoMensaje.Información: lblTitulo.Text = "Información"; imgIcono.Src = "../img/icons/Mensaje/icoInfo.png"; break;
            }

            if (!string.IsNullOrEmpty(titulo))
                lblTitulo.Text = titulo;

            lblMensaje.Text = mensaje;
            hfRedirect.Value = redirect;
            pnlBox.Attributes.Remove("style");
            pnlBox.Attributes.Add("style", "width:400px;display:block;");
            mpeBox.Show();
            btnAceptar.Focus();
        }

        protected void BtnCerrarBoxClick(object sender, EventArgs e) { mpeBox.Hide(); }

        protected void BtnAceptarClick(object sender, EventArgs e)
        {
            mpeBox.Hide();
            if (string.IsNullOrEmpty(hfRedirect.Value))
            {
                var page = Page as PageBase;
                if (page != null && Actualizar)
                    page.Refresh();
                return;
            }
            Response.Redirect(hfRedirect.Value);
        }

        private bool Actualizar
        {
            get { return hfRefresh.Value.Equals("S"); }
            set { hfRefresh.Value = value ? "S" : "N"; }
        }
    }
}